/* Prism components - user / member area: member sidebar + nav, dashboard, VIP
   upgrade plans, invite/referral, watch-history, and the auth (login) card.
   Reuses .c-section / .c-grid / .c-card / .c-vodbtn / .c-pager / .c-empty from
   the shared layers; only member-specific pieces live here.
   ASCII-only comments on purpose - non-ASCII in a comment can swallow the next rule. */

/* ---- form inputs (shared by auth + member forms) ---- */
.c-input{width:100%;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-md);
  color:var(--c-text);font-size:var(--fs-sm);padding:.7em .9em;outline:0;transition:border-color var(--dur) var(--ease)}
.c-input:focus{border-color:var(--c-accent)}
.c-input::placeholder{color:var(--c-text-muted)}
.c-field{display:flex;flex-direction:column;gap:.4em;margin-bottom:var(--space-md)}
.c-field__label{font-size:var(--fs-sm);color:var(--c-text-muted)}
.c-formmsg{min-height:1.2em;font-size:var(--fs-sm);color:var(--c-danger)}
.c-formmsg.is-ok{color:var(--c-success)}

/* ---- member sidebar (profile + nav) ---- */
.c-userside{display:flex;flex-direction:column;gap:var(--space-md);align-items:center;text-align:center}
.c-userside__avatar{width:84px;height:84px;border-radius:50%;overflow:hidden;background:var(--c-surface-2);
  border:2px solid var(--c-border);display:flex;align-items:center;justify-content:center;flex:none}
.c-userside__avatar img{width:100%;height:100%;object-fit:cover}
.c-userside__avatar .bi{font-size:2.4rem;color:var(--c-text-muted)}
/* clickable avatar -> 更换头像 (user/portrait) */
.c-userside__avatar--edit{position:relative;cursor:pointer}
.c-userside__avataredit{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1em;
  background:color-mix(in srgb,#000 50%,transparent);color:#fff;font-size:var(--fs-xs);line-height:1.1;opacity:0;
  transition:opacity var(--dur) var(--ease)}
.c-userside__avataredit .bi{font-size:1.3rem;color:#fff}
.c-userside__avatar--edit:hover .c-userside__avataredit,.c-userside__avatar--edit:focus-visible .c-userside__avataredit{opacity:1}
.c-userside__name{font-size:var(--fs-lg);font-weight:600;line-height:1.2;word-break:break-word}
.c-userside__id{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5em;font-size:var(--fs-xs);color:var(--c-text-muted);margin-top:.5em}
.c-userside__metrics{display:flex;gap:var(--space-md);width:100%;justify-content:center}
.c-userside__metric{display:flex;flex-direction:column;gap:.1em}
.c-userside__metric b{font-size:var(--fs-lg);color:var(--c-accent)}
.c-userside__metric span{font-size:var(--fs-xs);color:var(--c-text-muted)}
.c-vipchip{display:inline-flex;align-items:center;gap:.35em;padding:.3em .75em;border-radius:var(--radius-pill);
  font-size:var(--fs-xs);font-weight:600;background:linear-gradient(120deg,#f6c453,#e0a73a);color:#3a2a05}
.c-vipchip--off{background:var(--c-surface-2);color:var(--c-text-muted)}

/* ---- member nav list ---- */
.c-usernav{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:var(--space-sm)}
.c-usernav__item{display:flex;align-items:center;gap:.7em;padding:.7em .9em;border-radius:var(--radius-md);
  font-size:var(--fs-sm);color:var(--c-text);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-usernav__item .bi{font-size:1.1em;flex:none;opacity:.8}
.c-usernav__item:hover{background:var(--c-surface-2);color:var(--c-accent)}
.c-usernav__item.is-active{background:var(--c-accent);color:var(--c-accent-ink)}
.c-usernav__item.is-active .bi{opacity:1}
.c-usernav__item--logout{color:var(--c-danger)}
.c-usernav__item--logout:hover{background:color-mix(in srgb,var(--c-danger) 12%,transparent);color:var(--c-danger)}

/* ---- dashboard ---- */
.c-vipbanner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);justify-content:space-between;
  padding:var(--space-lg);border-radius:var(--radius-lg);
  background:linear-gradient(120deg,color-mix(in srgb,var(--c-accent) 16%,var(--c-surface)),var(--c-surface));
  border:1px solid var(--c-border)}
.c-vipbanner__txt{min-width:0}
.c-vipbanner__title{font-size:var(--fs-lg);font-weight:600;display:flex;align-items:center;gap:.5em}
.c-vipbanner__sub{font-size:var(--fs-sm);color:var(--c-text-muted);margin-top:.3em}
.c-dashstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:var(--space-md)}
.c-dashstat{display:flex;flex-direction:column;gap:.3em;padding:var(--space-md);border-radius:var(--radius-md);
  background:var(--c-surface-2);border:1px solid var(--c-border)}
.c-dashstat__num{font-size:var(--fs-xl);font-weight:700;color:var(--c-text)}
.c-dashstat__lbl{font-size:var(--fs-xs);color:var(--c-text-muted)}
.c-quicklinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr));gap:var(--space-sm)}
.c-quicklink{display:flex;flex-direction:column;align-items:center;gap:.5em;padding:var(--space-md) .5em;border-radius:var(--radius-md);
  background:var(--c-surface-2);border:1px solid var(--c-border);color:var(--c-text);font-size:var(--fs-sm);
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-quicklink:hover{border-color:var(--c-accent);color:var(--c-accent)}
.c-quicklink .bi{font-size:1.5rem}
.c-deflist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:.2em var(--space-lg)}
.c-deflist__row{display:flex;gap:.6em;font-size:var(--fs-sm);padding:.55em 0;border-bottom:1px solid var(--c-border)}
.c-deflist__lbl{flex:none;width:6em;color:var(--c-text-muted)}
.c-deflist__val{min-width:0;word-break:break-word}

/* ---- VIP upgrade plans ---- */
.c-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:var(--space-md);container-type:inline-size}
.c-plan{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-lg);
  background:var(--c-surface-2);border:1px solid var(--c-border)}
.c-plan__name{font-size:var(--fs-lg);font-weight:700;display:flex;align-items:center;gap:.45em}
.c-plan__name .bi{color:#e0a73a}
.c-plan__tiers{display:flex;flex-direction:column;gap:var(--space-sm)}
.c-plan__tier{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:.7em .9em;border-radius:var(--radius-md);
  background:var(--c-surface);border:1px solid var(--c-border);width:100%;cursor:pointer;text-align:left;
  transition:border-color var(--dur) var(--ease)}
.c-plan__tier:hover{border-color:var(--c-accent)}
.c-plan__tier:disabled{opacity:.5;cursor:not-allowed}
.c-plan__tierlabel{font-size:var(--fs-sm)}
.c-plan__tierprice{font-size:var(--fs-sm);font-weight:700;color:var(--c-accent);display:inline-flex;align-items:center;gap:.3em}

/* ---- invite / referral ---- */
.c-invitehero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);justify-content:space-between;
  padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--c-border);
  background:linear-gradient(120deg,color-mix(in srgb,var(--c-accent) 14%,var(--c-surface)),var(--c-surface))}
.c-invitehero__code{font-size:var(--fs-2xl);font-weight:800;letter-spacing:.05em;color:var(--c-accent)}
.c-invitehero__label{font-size:var(--fs-xs);color:var(--c-text-muted)}
.c-invitelink{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm)}
.c-invitelink__url{flex:1;min-width:0;font-size:var(--fs-xs);color:var(--c-text-muted);background:var(--c-surface-2);
  border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:.55em .7em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-copybtn{flex:none;display:inline-flex;align-items:center;gap:.35em;padding:.55em .9em;border-radius:var(--radius-pill);
  font-size:var(--fs-xs);font-weight:600;background:var(--c-accent);color:var(--c-accent-ink);cursor:pointer;border:0}
.c-copybtn:hover{filter:brightness(1.08)}

/* ---- simple member table (invitees, etc.) ---- */
.c-utable{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.c-utable th,.c-utable td{padding:.7em .6em;text-align:left;border-bottom:1px solid var(--c-border)}
.c-utable th{font-weight:600;color:var(--c-text-muted);font-size:var(--fs-xs)}
.c-utable tbody tr:hover{background:var(--c-surface-2)}
.c-utable__num{color:var(--c-accent);font-weight:600}
@container (max-width:520px){.c-utable .opt-hide{display:none}}

/* ---- auth (login / register) card ---- */
.c-auth{max-width:420px;margin:var(--space-xl) auto;background:var(--c-surface);border:1px solid var(--c-border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:clamp(1.4rem,4vw,2.4rem)}
.c-auth__head{text-align:center;margin-bottom:var(--space-lg)}
.c-auth__title{font-size:var(--fs-xl);font-weight:700}
.c-auth__sub{font-size:var(--fs-sm);color:var(--c-text-muted);margin-top:.4em}
.c-auth__pwd{position:relative}
.c-auth__eye{position:absolute;right:.6em;top:50%;transform:translateY(-50%);color:var(--c-text-muted);cursor:pointer;background:0;border:0;font-size:1.05em}
.c-auth__verify{display:flex;gap:var(--space-sm);align-items:stretch}
.c-auth__verify .c-input{flex:1}
.c-auth__verify img{height:auto;border-radius:var(--radius-md);border:1px solid var(--c-border);cursor:pointer}
.c-auth__submit{width:100%;justify-content:center;margin-top:var(--space-sm)}
.c-auth__foot{display:flex;justify-content:space-between;margin-top:var(--space-md);font-size:var(--fs-sm)}
.c-auth__foot a{color:var(--c-text-muted)}
.c-auth__foot a:hover{color:var(--c-accent)}

/* ---- third-party (QQ / WeChat) login ---- */
.c-auth__oauth{margin-top:var(--space-lg)}
.c-auth__or{display:flex;align-items:center;gap:var(--space-sm);color:var(--c-text-muted);font-size:var(--fs-xs);margin-bottom:var(--space-md)}
.c-auth__or::before,.c-auth__or::after{content:"";flex:1;height:1px;background:var(--c-border)}
.c-auth__oauthbtns{display:flex;justify-content:center;gap:var(--space-md)}
.c-oauthbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  font-size:1.4rem;color:#fff;transition:filter var(--dur) var(--ease),transform var(--dur) var(--ease)}
.c-oauthbtn:hover{filter:brightness(1.08);transform:translateY(-2px)}
.c-oauthbtn--qq{background:#12b7f5}
.c-oauthbtn--wx{background:#07c160}
